describe('visiter test', () => {
  //执行测试用例之前的操作，一个describe()或context()内有多少个
  beforeEach(()=>{
  //打开网址
   cy.visit('http://localhost:80')

   cy.visit('http://localhost:80/static/html/index.html')

   //hr登录
      cy.get("#loginsignupbarid").contains("登录").click()
         cy.get('#phone').type('2')
         cy.get('#password').type('2')
         cy.get('#hrlogincheckbox').should('be.visible').click()
         cy.get('#loginform > div.form-group.mb-8.button > button').should('be.visible').click()
         cy.pause()

  })

      it('change hrinfo', () => {
      //点击信息编辑
      // show hidden element with invoke
      //找到编辑栏，realhover
      //within:在特定dom中找元素
      //多加wait(),如果在演示中没看到想要的元素显示出来就得加wait
      //跳转到个人信息编辑界面
      //.should('be.visible')可以一直等到元素可见（可以进行交互）
      cy.wait(3000)

      cy.get('#hrinforcenterbarliid')
      .realHover()
      .within(() => {
       cy.get('.sub-menu')
       .children()
       .eq(0).should('be.visible').click()
         })
       //修改hr信息
      cy.get("#hrmodifybtn")
      .should('be.visible')
      .click()
      //hr姓名
      cy.get('#hrdetailname')
      .should('be.visible')
      .type("{selectall}{del}测试用户")
      //hr电话号码
      cy.get('#hrdetailtel')
            .should('be.visible')
            .type("{selectall}{del}2")
      //hr登陆密码
      cy.get('#hrdetailpwd')
            .should('be.visible')
            .type("{selectall}{del}2")
      //hr职称
      cy.get('#hrdetailpos').type("测试职称")
      cy.get("#hrsavebtn").click()
      //修改公司
      cy.contains("修改公司信息").click()
      //统一社会信用代码
      cy.contains("修改公司信息").realHover()

      cy.get('#companydetailname').type("{selectall}{del}修改公司名称")
      cy.get('#companydetailusc').type("{selectall}{del}111111")
      cy.get('#companydetailbrn').type("{selectall}{del}111111")
      cy.get('#operatatusid').select(2).invoke('val')
      cy.get('#compdetailtype').type("测试企业类型")
      cy.get('#comdetailscope').type("测试经营范围")
      cy.get('#detailindsector').type("测试所属行业")
      cy.get('#legalrep').type("测试法定代表人")
      cy.get('#registercap').type("测试企业注册资本")
      cy.get('#estdetail').type("{selectall}{del}1900-1-1")
      cy.get('#operiodid').type("测试经营期限")
      cy.get('#regauthdetail').type("测试登记机关")
      cy.get('#detailaddr').type("更新注册地址")
      cy.pause()
      //可以随意修改
      cy.contains("保存公司信息").click()

      //刷新当前页面
      cy.reload()

      cy.pause()
      //登录用户管理博客
      //进入博客管理界面

      cy.wait(3000)
      cy.scrollTo('top')
      cy.wait(1000)
      cy.get("#nav")
      .children().eq(6)
      .contains('个人中心')
      .realHover()
      .next()
      .children()
      .eq(2).contains('管理博客')
      .should('be.visible').click()

      cy.pause()
      //登录用户增加博客
             cy.contains("写博客").click()
                 cy.pause()
                 cy.get("#addblogtitle").clear().type("登录添加测试博客")
                 cy.get("#blogtagsid").clear().type("登录")

                 cy.get('div.tox-editor-container')
                     //手动输入博客内容测试

                 cy.pause()
                 cy.get("#postblogtbtnid").click()
                 cy.pause()
                 cy.wait(1000)
      //去个人中心中的博客管理
      cy.scrollTo('top')
      cy.scrollTo('bottom')
      cy.scrollTo('top')

      cy.get("#hrinforcenterbarliid")
            .children()
            .eq(0)
            .realHover()
            .next()
            .children()
            .eq(2).should('be.visible').click()

      //修改博客
      cy.get("#blogtemplateid")
      .children().eq(0)
      .children().within(()=>{
           cy.get('.content-body').within(()=>{
              cy.contains('进行操作').click()
           })

      })
      cy.pause()
      cy.scrollTo('bottom')
      cy.get("#editblogtbtnid").click()
      cy.get("#addblogtitle").type("修改版")
      cy.get("#blogtagsid").type(" 修改")
      cy.get('div.tox-editor-container')
              //手动输入博客内容测试
      cy.pause()


      cy.get("#saveblogtbtnid").click()
      cy.pause()
      //查看修改后的博客
      cy.get("#blogtemplateid")
            .children().eq(0)
            .children().within(()=>{
                 cy.get('.content-body').within(()=>{
                    cy.contains('进行操作').click()
                 })
            })

       cy.pause()
       //删除博客
       cy.get("#deleteblogtbtnid").click()
       //cy.on('window:confirm', () => false);
       cy.pause()
       //进入博客管理界面查看修改结果
                             cy.get('#hrinforcenterbarliid')
                                   .realHover()
                                   .within(() => {
                                    cy.get('.sub-menu')
                                    .children()
                                    .eq(2).should('be.visible').click()
                                      })
                             cy.pause()

      })

      it('hr post job', () => {
      cy.wait(3000)
      //导航栏发布职位界面
      cy.get('#hrmanagejobbarliid')
            .realHover()

            .within(() => {
             cy.get('.sub-menu')
             .children()
             .eq(0).should('be.visible').click()
               })
      cy.pause()
      //发布职位界面
      cy.get('[name="title"]').type("hr添加职位名称")
      cy.get('[name="poststat"]').type("hr添加职位类型")
      cy.get('[name="recruitstat"]').type("招聘中")
      cy.get('[name="jobkind"]').select(0).invoke('val')
      cy.get('[name="updatetime"]').type('2024-6-30')
      cy.get('[name="salary"]').select(1).invoke('val')
      cy.get('[name="loc"]').type('天津')
      cy.get('[name="educ"]').type('本科')
      cy.get('[name="jobdesc"]').type('hr发布职位描述，这是一个新发布的职位')
      cy.get('[name="exprdesc"]').type('需要熟悉计算机')
      cy.pause()
      cy.get("#jobpostbtn").click()
      cy.pause()
      //定向到了职位查看与编辑界面
      //职位查看与编辑
      cy.wait(1000)
      cy.contains('编辑职位').eq(0).click()
      cy.scrollTo('top')
      cy.get('#jobmodifybtn').click()
       cy.get('[name="title"]').type("hr修改职位名称")
       cy.get('[name="poststat"]').type("hr修改职位类型")
       cy.get('[name="recruitstat"]').type("招聘中")
       cy.get('[name="jobkind"]').select(0).invoke('val')
       cy.get('[name="updatetime"]').type('2024-6-30')
       cy.get('[name="salary"]').select(1).invoke('val')
       cy.get('[name="loc"]').type('天津')
       cy.get('[name="educ"]').type('硕士')
       cy.get('[name="jobdesc"]').type('hr修改职位描述，这是一个新发布的职位')
       cy.get('[name="exprdesc"]').type('修改需要熟悉计算机')
      cy.get('#jobsavebtn').click()
      cy.pause()
      //回到编辑界面
      cy.go('back')


      })
      /*这个不用了
      it('hr manage job', () => {
            cy.get('#hrmanagejobbarliid')
                  .realHover()

                  .within(() => {
                   cy.get('.sub-menu')
                   .children()
                   .eq(1).should('be.visible').click()
                     })

            })*/
     it('hr have-manage resume', () => {
      cy.wait(3000)
      //已处理简历
            cy.get('#hrmanagejobbarliid')
                  .realHover()
                  .within(() => {
                   cy.get('.sub-menu')
                   .children()
                   .eq(2).should('be.visible').click()
                     })
            //搜索简历
            cy.pause()
            //已通过
            cy.get("#seekerdetailname").select(0).invoke('val')
            cy.get('#operatatusid').select(1).invoke('val')
            cy.get('#searchseeker').click()
            cy.pause()
            //已拒绝
            cy.get('#operatatusid').select(2).invoke('val')
            cy.get('#searchseeker').click()
            cy.pause()
            //手动查看搜索结果

             //查看已处理的简历
             cy.contains('查看简历').then(($elements) => {
                 if ($elements.length >0) {
                     // 结果数量符合预期，继续执行后续步骤
                     // 例如点击一个按钮
                     cy.contains('查看简历').eq(0).click();
                     cy.pause()
                     //手动点击pdf简历查看
                     cy.go('back')
                 } else {
                      cy.reload()
                 }
             });



            })
     it('hr manage resume', () => {
      //未处理简历
      cy.wait(3000)
            cy.get('#hrmanagejobbarliid')
                  .realHover()

                  .within(() => {
                   cy.get('.sub-menu')
                   .children()
                   .eq(3).click()
                     })
            //搜索未处理简历
            cy.get('#seekerdetailadv').realHover()
            cy.get('#seekerdetailname').select(1).invoke('val')
            cy.get('#seekerdetailinfo').type('张')
            cy.get('#seekerdetailedu').type('南开')
            cy.get('#seekerdetailadv').type('计算机')
            cy.pause()
            cy.get('#searchseeker').click()
            cy.get('#seekerdetailadv').clear()
            cy.pause()
            cy.get('#searchseeker').click()
            cy.pause()
            //查看已处理的简历
             cy.get('.experience').then(($elements) => {
                  if ($elements.length >0) {
                       // 结果数量符合预期，继续执行后续步骤
                       //查看第一个简历
                       cy.get('.experience').first().parent().children().eq(0).children().eq(0).click();
                       cy.pause()
                       //手动点击pdf简历查看
                       cy.go('back')
                        } else {
                        cy.reload()

                        }
             })
             //批准
             cy.contains('批准').eq(0).realHover().wait(3000)
             .click()
             cy.pause()
             //拒绝
             cy.contains('拒绝').eq(0).realHover().wait(3000)
                          .click()
             cy.pause()
             //跳到已处理简历，手动看结果
              cy.get('#nav').children().eq(2)
                               .realHover()
                                .within(() => {
                                cy.get('.sub-menu')
                                .children()
                                .eq(2).should('be.visible').click()
                                  })
             cy.pause()



      })

})
